/**
 * legalMoves.java
 * Auti i class elenhi tis nomimes kinisis ton pieces kai gia kathe piece epistrefi simfona me tin
 * arhiki thesi oles tis pithanes nomimes se ena Vector.
 */

package chess;

import java.util.Vector;

public class legalMoves{
    
    /**
     * precondition: -1<x<9 -1<y<9
     * @param x I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param y I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @param clr to hroma tou Pawn.
     * @return ena Vector pou ehi oles tis nomimes pithanes kinisis.
     */
    public Vector<String> pawnMoveCheck(int x, int y, char clr){
        Vector<String> ret = null;
        
        /**
         * TODO elenhos tou hromatos tou pawn kai anathesi timon tis ret 
         * analoga me to auto ( to hroma )
         */
        return ret;
    }
    
    /**
     * precondition: -1<x<9 -1<y<9
     * @param x I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param y I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @return ena Vector pou ehi oles tis nomimes pithanes kinisis.
     */
    public Vector<String> kingMoveCheck(int x, int y){
        Vector<String> ret = null;
        
        return ret;
    }
    
    /**
     * precondition: -1<x<9 -1<y<9
     * @param x I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param y I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @return ena Vector pou ehi oles tis nomimes pithanes kinisis.
     */
    public Vector<String> queenMoveCheck(int x, int y){
        Vector<String> ret = null;
        
        return ret;
    }
    
    /**
     * precondition: -1<x<9 -1<y<9
     * @param x I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param y I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @return ena Vector pou ehi oles tis nomimes pithanes kinisis.
     */
    public Vector<String> rookMoveCheck(int x, int y){
        Vector<String> ret = null;
        
        return ret;
    }
    
    /**
     * precondition: -1<x<9 -1<y<9
     * @param x I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param y I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @return ena Vector pou ehi oles tis nomimes pithanes kinisis.
     */
    public Vector<String> bishopMoveCheck(int x, int y){
        Vector<String> ret = null;
        
        return ret;
    }
    
    /**
     * precondition: -1<x<9 -1<y<9
     * @param x I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param y I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @return ena Vector pou ehi oles tis nomimes pithanes kinisis.
     */
    public Vector<String> knightMoveCheck(int x, int y){
        Vector<String> ret = null;
        
        return ret;
    }
    
}